Page({
  data: {
    phone: '',
    canLogin: false  // 登录按钮状态，默认不可用
  },

  // 手机号输入事件
  inputPhone: function (e) {
    const phone = e.detail.value;
    this.setData({
      phone: phone
    });
    this.checkCanLogin();
  },

  // 检查是否可以登录
  checkCanLogin: function () {
    // 验证手机号格式是否正确（11位数字）
    const phoneReg = /^1\d{10}$/;
    const canLogin = phoneReg.test(this.data.phone);
    this.setData({
      canLogin: canLogin
    });
  },

  // 登录按钮点击事件
  login: function () {
    if (!this.data.canLogin) {
      return;
    }

    const that = this;
    const phone = this.data.phone;

    // 显示加载中
    wx.showLoading({
      title: '登录中...',
    });

    // 获取用户openid
    wx.login({
      success: res => {
        const code = res.code;
        console.log('获取到的code:', code); // 打印code便于调试
        // 调用优化的登录云函数
        wx.cloud.callFunction({
          name: 'userLogin',
          data: {
            code: code,
            phone: phone
          },
          success: res => {
            console.log('登录云函数返回结果:', res.result);

            if (res.result.success) {
              // 登录成功
              that.loginSuccess(res.result.openid, res.result.phone);
            } else {
              // 登录失败
              console.error('登录失败:', res.result.message);
              that.loginFail(res.result.message);
            }
          },
          fail: err => {
            console.error('调用登录云函数失败', err);
            that.loginFail('网络连接失败，请检查网络后重试');
          }
        });
      },
      fail: err => {
        console.error('微信登录失败', err);
        that.loginFail();
      }
    });
  },



  // 登录成功处理
  loginSuccess: function (openid, phone) {
    // 隐藏加载提示
    wx.hideLoading();

    // 更新全局数据
    const app = getApp();
    app.globalData.isLogin = true;
    app.globalData.userPhone = phone;
    app.globalData.openid = openid;

    // 显示登录成功提示
    wx.showToast({
      title: '登录成功',
      icon: 'success',
      duration: 2000,
      success: function () {
        // 延迟跳转，让用户看到提示
        setTimeout(function () {
          wx.switchTab({
            url: '/pages/market/index'
          });
        }, 1500);
      }
    });
  },

  // 登录失败处理
  loginFail: function (message) {
    // 隐藏加载提示
    wx.hideLoading();

    // 显示登录失败提示
    wx.showToast({
      title: message || '登录失败，请重试',
      icon: 'none',
      duration: 3000
    });
  }
})